#include "./src/linklist.h"

int main(int argc, const char *argv[])
{
    int i = 0;
    linknode_t *h = linklist_create();

    for (i = 0; i < 8; i++)
    {
        linklist_insert_head(h, 10 * (i + 1));
    }

    printf("头插入法：");
    linklist_show(h);

    linklist_insert_tail(h, 17);
    printf("尾插入法：");
    linklist_show(h);

    linklist_delete_head(h);
    printf("头删除法：");
    linklist_show(h);

    linklist_change(h, 50, 15);
    printf("数据修改：");
    linklist_show(h);

    linklist_insert_pos(h, 15, 32);
    printf("按位置插：");
    linklist_show(h);

    putchar(10);
    linknode_t *w = linklist_create();
    linklist_insert_sort(w, 17);
    linklist_insert_sort(w, 32);
    linklist_insert_sort(w, 61);
    linklist_insert_sort(w, 19);
    linklist_insert_sort(w, 10);
    linklist_insert_sort(w, 12);
    linklist_insert_sort(w, 10);
    printf("按顺序插：");
    linklist_show(w);
    linklist_delete_head(w);
    printf("按头删除：");
    linklist_show(w);

    linklist_delete_tail(w);
    printf("按尾删除：");
    linklist_show(w);

    linklist_delete_pos(w, 3);
    printf("按位删除：");
    linklist_show(w);

    linklist_revers(w);
    printf("数据翻转：");
    linklist_show(w);

    printf("数去获取：%d\n", linklist_get(w, 3));

    return 0;
}
